# JavaTM IDL
Technology
Documentation

J2SETM v.1.4 Documentation Contents Changes in CORBA (JavaTM IDL, Java RMI-IIOP) Features Between J2SE 1.3 and 1.4

> JavaTM IDL technology ("Java IDL") adds CORBA (Common Object Request Broker Architecture) capability to the Java platform, providing standards-based interoperability and connectivity. Java IDL enables distributed Web-enabled Java applications to transparently invoke operations on remote network services using the industry standard IDL (Object Management Group Interface Definition Language) and IIOP (Internet Inter-ORB Protocol) defined by the Object Management Group. Runtime components include a Java ORB for distributed computing using IIOP communication.

## Where do I get the IDL-to-Java compiler?

> Starting with the JavaTM 2 Platform, Standard Edition (J2SETM), v.1.3, Java IDL technology include `idlj`, a compiler that maps IDL to the Java programming language (IDL-to-Java compiler) and that meets the 100% Pure JavaTM certification standards. The `idlj` compiler is no longer a separate download, it is placed in the J2SE's `.bin` directory by the installer. To download J2SE, v.1.4, follow the link to Java 2 Platform, Standard Edition, v.1.4.

## What's new in Java IDL in J2SE 1.4?

> Follow the link to this document for more information on what's new in Java IDL in J2SE 1.4: Changes in CORBA Features Between J2SE 1.3 and 1.4

## With which CORBA specifications does J2SE 1.4 comply?

> Follow the link to this document for more information on Official Specifications for CORBA support in J2SE 1.4.

## Should I use Java IDL or Java RMI-IIOP technology?

> This is a fundamental question and it's important to understand the distinction between these two ways of integrating the Java programming language with CORBA.

> Java IDL technology is for CORBA programmers who want to program in the Java programming language based on interfaces defined in CORBA Interface Definition Language (IDL). This is "business as usual" CORBA programming, supporting Java in exactly the same way as other languages like C++ or COBOL.

> Java Remote Method Invocation over Internet Inter-ORB Protocol ("RMI-IIOP") technology is for Java programmers who want to program to the Java Remote Method Invocation ("Java RMI") interfaces, but use IIOP as the underlying transport. RMI-IIOP provides interoperability with other CORBA objects implemented in various languages - but only if all the remote interfaces are originally defined as Java RMI interfaces. It is of particular interest to programmers using Enterprise JavaBeansTM (EJBTM) technology, since the EJB remote object model is based on Java RMI technology.

## Java IDL FAQ

- Java IDL FAQ

## Essential Java IDL API

- package org.omg.CORBA - provides the mapping of the OMG CORBA APIs to the Java[tm] programming language
- package org.omg.CosNaming - provides the naming service for Java IDL
- New! package org.omg.PortableServer - provides classes and interfaces for making the server side of your applications portable across multivendor ORBs
- New! package org.omg.PortableInterceptor - provides a mechanism to register ORB hooks through which ORB services can intercept the normal flow of execution of the ORB
- New! package org.omg.DynamicAny - provides classes and interfaces to enable `Any` values to be dynamically interpreted (traversed) and constructed through `DynAny` objects
- org.omg.CORBA.ORB - provides APIs for the CORBA Object Request Broker features

## Java IDL Tools

- `idlj`, the IDL-to-Java compiler (command-line documentation)
- New! `orbd` - a daemon process containing a Bootstrap Service, a Transient Naming Service, a Persistent Naming Service, and a Server Manager
- New! `servertool` - the ease-of-use interface for application programmers to register, unregister, startup, and shutdown a server.
- `tnameserv` - the Transient Java IDL Naming Service (provided for backward compatibility)

## Tutorials

The following tutorials are all variations on the basic distributed "Hello World" application. The differences are in the server-side models and server implementations. The following tutorials are available:

- Introductory level; POA server-side model; transient server
- POA server-side model; persistent server
- POA server-side model; transient server
- POA-Tie (Delegation) server-side model; transient server
- ImplBase (Inheritance) server-side model; transient server

## Sample Code

- Sample Code for Hello World provides the code for all created and generated files used in the POA server-side model tutorial

## New Features

- POA - Portable Object Adapter
- Portable Interceptors **Advanced Topic**
- INS - Interoperable Naming Service

## Other Sample Applications

- Example: Callback Objects *not updatedd
- Example: Interoperable Naming Service
- Enterprise JavaBeans Components and CORBA Clients (click here for pdf version)

## Concepts

- CORBA and the Java Programming Language
- Java Developer Connection: Introduction to CORBA
- Distributed Application Concepts
- Using CORBA and Java IDL
- Glossary

## Programming Guide

- Exceptions
- Initialization
- Naming Service
- Dynamic Skeleton Interface
- Mapping IDL to the Java Programming Language

## For more information

> The OMG is the official source of information for all CORBA and IIOP related information. The CORBA 2.3.1 Specification is available electronically from formal/99-10-07. The URLs for the CORBA specifications may change. If this link is broken, link to http://www.omg.org and search the specifications.

> For more information on which OMG specifications are implemented in this release of the Java platform, see the compliance document.

> For information on product limitations in this release of the Java IDL/RMI-IIOP technologies, see Java IDL Product Limitations.

> For questions, please check the Java IDL FAQ and the user supported forum for Java IDL technology, which is available at http://forum.java.sun.com. For comments please send us email at javaidl@sun.com.

Copyright © 2002 Sun Microsystems, Inc. All Rights Reserved. Send questions or comments to: rmi-iiop@sun.com. |